package pzl.com.compositepattern;

/**
 * Component: 为参加组合的对象声明一个公共接口, 不管是组合还是叶结点.
 * <p/>
 * 组合模式又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,
 * 客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解藕.
 * <p/>
 * 可以优化处理递归或分级数据结构.有许多关于分级数据结构的例子,使得组合模式非常有用武之地.
 *
 * @author zl.peng
 * @version [1.0, 2016-11-02]
 *          文件系统
 */
public abstract class FileSystemComponent {
    protected String name;

    public String getName() {
        return name;
    }

    public FileSystemComponent(String name) {
        this.name = name;
    }

    abstract void add(FileSystemComponent component);

    abstract void remove(FileSystemComponent component);

    abstract void delete();

    abstract void display();

}
